package com.qr.service;

import com.qr.dto.SuggestDTO;
import com.qr.dto.UserSubmitDTO;
import com.qr.entity.UserExercise;
import com.qr.vo.NavVO;
import com.qr.vo.TimeVO;

import java.time.LocalDate;
import java.util.List;
import java.util.Set;

public interface MoveService {

    /**
     * 获取nav以及对应的所有动作
     */
    List<NavVO> getNavItem();

    /**
     * 提交数据
     */
    void submit(List<UserSubmitDTO> submitDTO);

    List<UserExercise>  getDataByDate(String date);

    /**
     * 更新数据
     * @param userExercise
     */
    void updateData(UserExercise userExercise);

    /**
     * 获取选择时间内的每个动作的次数
     * @param beginDate
     * @param endDate
     */
    List<TimeVO> getTimesByDate(LocalDate beginDate, LocalDate endDate);

    /**
     * 获取选择时间内的每个动作的次数
     * @param id
     * @param beginDate
     * @param endDate
     * @return
     */
    List<TimeVO> getMoveTimesByDate(Integer id, LocalDate beginDate, LocalDate endDate);

    /**
     * 提交建议
     * @param suggestdto
     */
    void submitSuggest(SuggestDTO suggestdto);

    /**
     * 获取选择时间内的数据
     * @param startDate
     * @param endDate
     * @return
     */
    List<String> getDataByDateRange(LocalDate startDate, LocalDate endDate);
}
